home *** CD-ROM | disk | FTP | other *** search
- This is the documentation for the keytab-lilo.pl program. It was
- taken verbatim from the LILO-20 README file; only this header was
- added.
-
- LILO program code, documentation and auxiliary programs are
- Copyright 1992-1997 Werner Almesberger.
- All rights reserved.
-
- Redistribution and use in source and binary forms of parts of or the
- whole original or derived work are permitted provided that the
- original work is properly attributed to the author. The name of the
- author may not be used to endorse or promote products derived from
- this software without specific prior written permission. This work
- is provided "as is" and without any express or implied warranties.
-
- To use a LILO keyboard table with SYSLINUX, specify the KBDMAP command
- in syslinux.cfg, for example:
-
- kbdmap de.ktl
-
- ============================================================================
-
- Keyboard translation
- --------------------
-
- The PC keyboard emits so-called scan codes, which are basically key
- numbers. The BIOS then translates those scan codes to the character codes
- of the characters printed on the key-caps. By default, the BIOS normally
- assumes that the keyboard has a US layout. Once an operating system is
- loaded, this operating system can use a different mapping.
-
- At boot time, LILO only has access to the basic services provided by the
- BIOS and therefore receives the character codes for an US keyboard. It
- provides a simple mechanism to re-map the character codes to what is
- appropriate for the actual layout.*
-
- * The current mechanism isn't perfect, because it sits on top of the
- scan code to character code translation performed by the BIOS. This
- means that key combinations that don't produce any useful character on
- the US keyboard will be ignored by LILO. The advantage of this approach
- is its simplicity.
-
-
- Compiling keyboard translation tables
- - - - - - - - - - - - - - - - - - - -
-
- LILO obtains layout information from the keyboard translation tables Linux
- uses for the text console. They are usually stored in
- /usr/lib/kbd/keytables. LILO comes with a program keytab-lilo.pl that reads
- those tables and generates a table suitable for use by the map installer.
- keytab-lilo.pl invokes the program loadkeys to print the tables in a format
- that is easy to parse.*
-
- * On some systems, only root can execute loadkeys. It is then necessary
- to run keytab-lilo.pl as root too.
-
- keytab-lilo.pl is used as follows:
-
- keytab-lilo.pl [ -p <old_code>=<new_code> ] ...
- [<path>]<default_layout>[.<extension>] ]
- [<path>]<kbd_layout>[.<extension>] ]
-
- -p <old_code>=<new_code>
- Specifies corrections ("patches") to the mapping obtained from the
- translation table files. E.g. if pressing the upper case "A" should
- yield an at sign, -p 65=64 would be used. The -p option can be
- repeated any number of times. The codes can also be given as
- hexadecimal or as octal numbers if they are prefixed with 0x or 0,
- respectively.
- <path> The directory in which the file resides. The default path is
- /usr/lib/kbd/keytables.
- <extension> Usually the trailing .map, which is automatically added if
- the file name doesn't contain dots.
- <default_layout> Is the layout which specifies the translation by the
- BIOS. If none is specified, us is assumed.
- <kbd_layout> Is the actual layout of the keyboard.
-
- keytab-lilo.pl writes the resulting translation table as a binary string to
- standard output. Such tables can be stored anywhere with any name, but the
- suggested naming convention is /boot/<kbd>.ktl ("Keyboard Table for Lilo"),
- where <kbd> is the name of the keyboard layout.
-
- Example:
-
- keytab-lilo.pl de >/boot/de.ktl
-